home *** CD-ROM | disk | FTP | other *** search
- // ExampleTestWin.cpp : Defines the initialization routines for the DLL.
- //
-
- #include "stdafx.h"
- #include <afxdllx.h>
- #include "TestWin.h"
- #include "TestDlg.h"
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
-
- static AFX_EXTENSION_MODULE ExampleTestWinDLL = { NULL, NULL };
-
- /////////////////////////////////////////////////////////////////////////////
- //
- class CExampleTestWin : public CTestWinDll
- {
- public:
- CExampleTestWin() {}
- ~CExampleTestWin() {}
-
- void Release();
- int DvTestWin(VIEW view, RECTANGLE *wvp, char *clut, CFrameWnd *parent);
- void GetIdInfo(CString& mfgName, CString& objName, CString& versionStr);
- };
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- int CExampleTestWin::DvTestWin(VIEW view, RECTANGLE *wvp, char *clut, CFrameWnd *parent)
- {
- // Make sure the application's default resources are loaded from this DLL...
- HINSTANCE hInstResourceClient = AfxGetResourceHandle();
- AfxSetResourceHandle(ExampleTestWinDLL.hModule);
-
- CTestDlg testDlg(view,wvp,clut,parent);
- int dlg_return = testDlg.DoModal();
-
- // Reset the application's default resources back to where they were...
- AfxSetResourceHandle(hInstResourceClient);
-
- return dlg_return;
- }
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- void CExampleTestWin::Release()
- {
- delete this;
- }
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- void CExampleTestWin::GetIdInfo(CString& mfgName, CString& objName, CString& versionStr)
- {
- mfgName = "DataViews Corporation";
- objName = "Example Test Window";
- versionStr = "1.0.0.1";
- }
-
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- extern "C" {
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- DLLEXPORT BOOL
- GetInterface(int idd, void **pInterf)
- {
- *pInterf = 0;
- if (idd == IID_Run)
- *pInterf = new CExampleTestWin;
- return (pInterf) ? TRUE : FALSE;
- }
-
-
- /////////////////////////////////////////////////////////////////////////////
- //
- int APIENTRY
- DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
- {
- // Remove this if you use lpReserved
- UNREFERENCED_PARAMETER(lpReserved);
-
- if (dwReason == DLL_PROCESS_ATTACH)
- {
- TRACE0("EXAMPLETESTWIN.DLL Initializing!\n");
-
- // Extension DLL one-time initialization
- if (!AfxInitExtensionModule(ExampleTestWinDLL, hInstance))
- return 0;
-
- // Insert this DLL into the resource chain
- // NOTE: If this Extension DLL is being implicitly linked to by
- // an MFC Regular DLL (such as an ActiveX Control)
- // instead of an MFC application, then you will want to
- // remove this line from DllMain and put it in a separate
- // function exported from this Extension DLL. The Regular DLL
- // that uses this Extension DLL should then explicitly call that
- // function to initialize this Extension DLL. Otherwise,
- // the CDynLinkLibrary object will not be attached to the
- // Regular DLL's resource chain, and serious problems will
- // result.
-
- new CDynLinkLibrary(ExampleTestWinDLL);
- }
- else if (dwReason == DLL_PROCESS_DETACH)
- {
- TRACE0("EXAMPLETESTWIN.DLL Terminating!\n");
- // Terminate the library before destructors are called
- AfxTermExtensionModule(ExampleTestWinDLL);
- }
- return 1; // ok
- }
-
- } // extern "C"